import Fly from 'flyio/dist/npm/wx'
import store from '/src/store'
import {topCaseToken} from '/src/utils/constant'
let fly = new Fly()

// 配置拦截器
fly.interceptors.request.use((request, promise) => {
  request.headers[topCaseToken] = store.state.user.token
  request.headers['Accept'] = 'application/json, text/plain, */*'
})
fly.interceptors.response.use((response, promise) => {
  return response.data
},
(err, promise) => {
  // 网络发生错误后走到这里。
  console.info('请求错误')
  console.error(err)
  if (err.status === 0) {
    wx.showToast({
      title: '哎呀！网络似乎开小差了！',
      icon: 'none',
      duration: 2000
    })
  } else {
    wx.showToast({
      title: '哎呀！不好意思，出错了！' + err.status,
      icon: 'none',
      duration: 2000
    })
  }
})
fly.config.baseURL = process.env.BASE_API

export function login(code) {
  return fly.get('/api/wx/ma/' + process.env.appid + '/login', {code})
}

export function getUserInfo(encryptedData, iv, signature) {
  return fly.post('/api/wx/ma/' + process.env.appid + '/userinfo', {encryptedData, iv, signature})
}

// 更新用户信息。
export function updateUserInfo(userinfo) {
  return fly.post('/api/wx/ma/' + process.env.appid + '/update', userinfo)
}
